package com.financeiro.bean;

import com.financeiro.model.Lancamento;
import com.financeiro.service.LancamentoService;
import com.financeiro.service.NegocioException;
import com.financeiro.util.jsf.FacesUtil;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;

@Named
@ViewScoped
public class LancamentoBean implements Serializable {

    private static final long serialVersionUID = 1L;

    private Lancamento lancamento;
    private List<Lancamento> lancamentos;

    @Inject
    private LancamentoService lancamentoService;

    public void salvar() {
        try {
            this.lancamentoService.salvar(lancamento);
            FacesUtil.addSuccessMessage("Laçamento efetuado com sucesso!");
        } catch (NegocioException e) {
            FacesUtil.addErrorMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            FacesUtil.addErrorMessage("Erro desconhecido. Contatar o administrador");
        }

    }

    public Lancamento getLancamento() {
        return lancamento;
    }

    public void setLancamento(Lancamento lancamento) {
        this.lancamento = lancamento;
    }

    public List<Lancamento> getLancamentos() {
        return lancamentos;
    }

    public void setLancamentos(List<Lancamento> lancamentos) {
        this.lancamentos = lancamentos;
    }

}
